package com.wzdigit.wms.basic.client.response.transfer;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 库区级别库存信息列表
 * </p>
 *
 * @author 
 * @since 2021-02-24
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler", "fieldHandler" }, ignoreUnknown = false)
public class InvZoneListResponse implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 仓库ID
     */
    @ApiModelProperty("仓库ID")
    private Integer whsId;
    
    /**
     * 库区ID
     */
    @ApiModelProperty("库区ID")
    private Integer zoneId;

    /**
     * 库位ID
     */
    @ApiModelProperty("库位ID")
    private Integer locId;
    
    /**
     * 仓库名称
     */
    @ApiModelProperty("仓库名称")
    private String whsName;
    
    /**
     * 仓库编码
     */
    @ApiModelProperty("仓库编码")
    private String whsCode;
    
    /**
     * 库区名称
     */
    @ApiModelProperty("库区名称")
    private String zoneName;

    /**
     * 库区编码
     */
    @ApiModelProperty("库区编码")
    private String zoneCode;

    /**
     * 库位编码
     */
    @ApiModelProperty("库位")
    private String locCode;

    /**
     * 货主ID
     */
    @ApiModelProperty("货主ID")
	private Integer ownerId;
	
    /**
     * 货主名称
     */
    @ApiModelProperty("货主名称")
    private String customerName;

    /**
     * 货品ID
     */
    @ApiModelProperty("货品ID")
    private Integer skuId;
    
    /**
     * 货品编码
     */
    @ApiModelProperty("货品编码")
    private String skuCode;

    /**
     * 货品描述
     */
    @ApiModelProperty("货品描述")
    private String descCn;

    /**
     * 工厂组织
     */
    @ApiModelProperty("工厂组织")
    private String factory;

    /**
     * 供应商ID
     */
    @ApiModelProperty("供应商ID")
    private String vendorId;
    
    /**
     * 供应商
     */
    @ApiModelProperty("供应商")
    private String vendorName;

    /**
     * 批次号
     */
    @ApiModelProperty("批次号")
    private String lotno;
    
    /**
     * 批次属性值
     */
    @ApiModelProperty("批次属性值")
    private String lotAttr;

    /**
     * 库存数量
     */
    @ApiModelProperty("库存数量")
    private BigDecimal qty;
    
    /**
     * 可用数量
     */
    @ApiModelProperty("可用数量")
    private BigDecimal availableQty;
    
    /**
     * 冻结数量
     */
    @ApiModelProperty("冻结数量")
    private BigDecimal holdQty;
    
    /**
     * 预收数量
     */
    @ApiModelProperty("预收数量")
    private BigDecimal preInQty;
    
    /**
     * 预支数量
     */
    @ApiModelProperty("预支数量")
    private BigDecimal preOutQty;
    
    /**
     * 预配数量
     */
    @ApiModelProperty("预配数量")
    private BigDecimal preAlocQty;
    
    /**
     * 分配数量
     */
    @ApiModelProperty("分配数量")
    private BigDecimal alocQty;
    
    /**
     * 单位
     */
    @ApiModelProperty("单位")
    private String unit;
    
    /**
     * 库存性质
     */
    @ApiModelProperty("库存性质")
    private String invAttr;
    
    /**
     * 品质状态
     */
    @ApiModelProperty("品质状态")
    private String qaStatus;
    
    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String comments;

    /**
     * 采购订单号
     */
    @ApiModelProperty("采购订单号")
    private String poNo;

    /**
     * 销售订单号
     */
    @ApiModelProperty("销售订单号")
    private String soNo;

    /**
     * 销售订单行号
     */
    @ApiModelProperty("销售订单行号")
    private String soItem;
    
    /**
     * 与LOT_ATTR类似，但是KEY取的是属性code
     */
    @ApiModelProperty("批次属性值code")
    private String lotAttrCode;
}
